Peppermint Welcome

Include the welcome application in a desktop ISO or disk image:

sudo python3 cli.py x86_64 --desktop xfce --with-welcome --mode real
sudo python3 cli.py x86_64 --desktop xfce --with-welcome --format img --mode real

--with-welcome selects the welcome software profile and builds the local python3-darkdetect and python3-customtkinter packages before provisioning. The profile installs Tkinter, Pillow and xdg-utils from the configured repositories. With --with-python-packages, the shared Python package pipeline supplies these libraries. Mock mode selects the profile without compiling packages or accessing the network. Use --with-custom-repo to reuse matching packages already indexed in custom_packages/; without that flag, real builds compile the local desktop dependencies for the selected build.

The profile is optional so headless/server images do not receive a GUI application. It uses the common rootfs customization pipeline for both ISO and disk outputs.

Installed files

  • /usr/share/pep-welcome: bundled application, translations and images.

  • /usr/bin/pep-welcome: launcher, also available in the applications menu.

  • /etc/xdg/autostart/Peppermint_Welcome.desktop: first-session launcher.

  • /usr/share/pixmaps/pep-welcome.png: application icon.

The system autostart entry always passes --autostart. The guide appears until completed. After that, Welcome opens at login only if the user enables its startup checkbox; manual launches always open. A user desktop entry with the same basename overrides the system entry. No first-run marker is baked into the image.

The About and Suggested Packages actions require the separately installed PEP applications (/usr/share/pep-fetch/pfetch_gui.py and /usr/share/pep-suggested/__main__.py). Add --with-suggested to supply Suggested at the expected path. Add --with-pfetch to provide PepFetch at the path used by the About action.

Updating the bundled application

Run from the builder checkout:

python3 tools/sync_welcome.py /path/to/welcome

Review the resulting diff before building. The application is bundled so builds never depend on a developer’s checkout path. Only runtime Python files, assets and gettext catalogs are copied; virtual environments and configuration state are excluded.